using System;
using System.Collections;
using System.Web.Mvc;

namespace Pronghorn.Core
{
	public interface IIocContainer
	{
		#region Methods

		void AddComponent<T>(string serviceName);

		void AddComponent(string serviceName, Type interfaceType, Type implementation);

		void Release(IController controller);

		T Resolve<T>(string name, Hashtable hashtable);

		T Resolve<T>();

		T Resolve<T>(string serviceName);

		#endregion Methods
	}
}